/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package org.apli.haiam.ejb.entidades;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Informática
 */
@Entity
@Table(name = "adm_persona")
@NamedQueries({
    @NamedQuery(name = "AdmPersona.findAll", query = "SELECT a FROM AdmPersona a")})
public class AdmPersona implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "apr_id")
    private Integer aprId;
    @Column(name = "apr_cedula")
    private String aprCedula;
    @Column(name = "apr_primer_apellido")
    private String aprPrimerApellido;
    @Column(name = "apr_segundo_apellido")
    private String aprSegundoApellido;
    @Column(name = "apr_primer_nombre")
    private String aprPrimerNombre;
    @Column(name = "apr_segundo_nombre")
    private String aprSegundoNombre;
    @Column(name = "apr_direccion")
    private String aprDireccion;
    @Column(name = "apr_telefono")
    private String aprTelefono;
    @Column(name = "apr_estado")
    private Integer aprEstado;
    @Column(name = "apr_fecha_nacimiento")
    @Temporal(TemporalType.DATE)
    private Date aprFechaNacimiento;
    @Column(name = "apr_edad")
    private Integer aprEdad;
    @Column(name = "apr_fecha_admision")
    @Temporal(TemporalType.DATE)
    private Date aprFechaAdmision;
    @Column(name = "apr_hora_admision")
    @Temporal(TemporalType.TIME)
    private Date aprHoraAdmision;
    @Column(name = "apr_genero")
    private Integer aprGenero;
    @Column(name = "apr_identificacion")
    private String aprIdentificacion;
    @Column(name = "apr_is_cedula")
    private Boolean aprIsCedula;
    @Column(name = "apr_nombre_full")
    private String aprNombreFull;
    @JoinColumn(name = "auo_id", referencedColumnName = "auo_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private AdmUnidadOperativa admUnidadOperativa;
    @OneToMany(mappedBy = "admPersona", fetch = FetchType.LAZY)
    private List<CexPedidoLaboratorio> cexPedidoLaboratorioList;

    public AdmPersona() {
    }

    public AdmPersona(Integer aprId) {
        this.aprId = aprId;
    }

    public Integer getAprId() {
        return aprId;
    }

    public void setAprId(Integer aprId) {
        this.aprId = aprId;
    }

    public String getAprCedula() {
        return aprCedula;
    }

    public void setAprCedula(String aprCedula) {
        this.aprCedula = aprCedula;
    }

    public String getAprPrimerApellido() {
        return aprPrimerApellido;
    }

    public void setAprPrimerApellido(String aprPrimerApellido) {
        this.aprPrimerApellido = aprPrimerApellido;
    }

    public String getAprSegundoApellido() {
        return aprSegundoApellido;
    }

    public void setAprSegundoApellido(String aprSegundoApellido) {
        this.aprSegundoApellido = aprSegundoApellido;
    }

    public String getAprPrimerNombre() {
        return aprPrimerNombre;
    }

    public void setAprPrimerNombre(String aprPrimerNombre) {
        this.aprPrimerNombre = aprPrimerNombre;
    }

    public String getAprSegundoNombre() {
        return aprSegundoNombre;
    }

    public void setAprSegundoNombre(String aprSegundoNombre) {
        this.aprSegundoNombre = aprSegundoNombre;
    }

    public String getAprDireccion() {
        return aprDireccion;
    }

    public void setAprDireccion(String aprDireccion) {
        this.aprDireccion = aprDireccion;
    }

    public String getAprTelefono() {
        return aprTelefono;
    }

    public void setAprTelefono(String aprTelefono) {
        this.aprTelefono = aprTelefono;
    }

    public Integer getAprEstado() {
        return aprEstado;
    }

    public void setAprEstado(Integer aprEstado) {
        this.aprEstado = aprEstado;
    }

    public Date getAprFechaNacimiento() {
        return aprFechaNacimiento;
    }

    public void setAprFechaNacimiento(Date aprFechaNacimiento) {
        this.aprFechaNacimiento = aprFechaNacimiento;
    }

    public Integer getAprEdad() {
        return aprEdad;
    }

    public void setAprEdad(Integer aprEdad) {
        this.aprEdad = aprEdad;
    }

    public Date getAprFechaAdmision() {
        return aprFechaAdmision;
    }

    public void setAprFechaAdmision(Date aprFechaAdmision) {
        this.aprFechaAdmision = aprFechaAdmision;
    }

    public Date getAprHoraAdmision() {
        return aprHoraAdmision;
    }

    public void setAprHoraAdmision(Date aprHoraAdmision) {
        this.aprHoraAdmision = aprHoraAdmision;
    }

    public Integer getAprGenero() {
        return aprGenero;
    }

    public void setAprGenero(Integer aprGenero) {
        this.aprGenero = aprGenero;
    }

    public String getAprIdentificacion() {
        return aprIdentificacion;
    }

    public void setAprIdentificacion(String aprIdentificacion) {
        this.aprIdentificacion = aprIdentificacion;
    }

    public Boolean getAprIsCedula() {
        return aprIsCedula;
    }

    public void setAprIsCedula(Boolean aprIsCedula) {
        this.aprIsCedula = aprIsCedula;
    }

    public String getAprNombreFull() {
        return aprNombreFull;
    }

    public void setAprNombreFull(String aprNombreFull) {
        this.aprNombreFull = aprNombreFull;
    }

    public AdmUnidadOperativa getAdmUnidadOperativa() {
        return admUnidadOperativa;
    }

    public void setAdmUnidadOperativa(AdmUnidadOperativa admUnidadOperativa) {
        this.admUnidadOperativa = admUnidadOperativa;
    }

    public List<CexPedidoLaboratorio> getCexPedidoLaboratorioList() {
        return cexPedidoLaboratorioList;
    }

    public void setCexPedidoLaboratorioList(List<CexPedidoLaboratorio> cexPedidoLaboratorioList) {
        this.cexPedidoLaboratorioList = cexPedidoLaboratorioList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (aprId != null ? aprId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof AdmPersona)) {
            return false;
        }
        AdmPersona other = (AdmPersona) object;
        if ((this.aprId == null && other.aprId != null) || (this.aprId != null && !this.aprId.equals(other.aprId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "newpackage.AdmPersona[ aprId=" + aprId + " ]";
    }
    
}
